package com.shujia.wyh.day13.ketang;

/*
        你可以将接口看成一个特殊的类。
        接口的特点：
            1、接口用关键字interface表示
                格式：interface 接口名 {}
            2、类实现接口用implements表示
                格式：class 类名 implements 接口名 {}
            3、接口不能实例化
                那么，接口如何实例化呢?
                按照多态的方式，由具体的子类实例化。其实这也是多态的一种，接口多态。
            4、接口的子类
                要么是抽象类
                要么是具体的类重写接口中的所有抽象方法
        到目前为止，我们学过哪些多态：
            1、具体的类之间的多态 （最后）
            2、抽象多态 （其次是抽象多态）
            3、接口多态（最常用的是接口多态）

 */

//定义一个动物训练的接口
interface AnimalTrain{
    public abstract void zuanHuoQuan();
}

//部分的猫会钻火圈
class Cat implements AnimalTrain{

    @Override
    public void zuanHuoQuan() {
        System.out.println("猫钻火圈");
    }
}

abstract class Demo2 implements AnimalTrain{

}



public class InterfaceDemo1 {
    public static void main(String[] args) {
        //接口多态
        AnimalTrain at = new Cat();
        at.zuanHuoQuan();
    }
}
